package array

// 给定一个 m x n 的矩阵，如果一个元素为 0 ，则将其所在行和列的所有元素都设为 0 。
// 请使用原地算法。就是直接改变matrix

func setZeroes(matrix [][]int) {

	rowlen := len(matrix)
	collen := len(matrix[0])

	zeroRow := make([]bool, rowlen)
	zeroCol := make([]bool, collen)

	for i := 0; i < rowlen; i++ {
		for j := 0; j < collen; j++ {
			if matrix[i][j] == 0 {
				zeroRow[i] = true
				zeroCol[j] = true
			}
		}
	}

	for i := 0; i < rowlen; i++ {
		for j := 0; j < collen; j++ {
			if zeroRow[i] == true || zeroCol[j] == true {
				matrix[i][j] = 0
			}
		}
	}

}
